A pointer circuit is, in general terms, a circuit adapted to point to, or address, individual elements of any nature in a generic collection of elements. The pointer circuit provides the information necessary to locate the desired element within the elements collection. Such information is provided to selection circuits, associated with the elements collection, which perform the task of selecting the element addressed by the pointer circuit within the elements collection.
Pointer circuits are found in most electronic systems, such as microprocessors, microcontrollers, memories, logic circuits in general, and Application Specific Integrated Circuits (ASICs). For example, in microprocessors and in microcontrollers pointer circuits are used to address memory locations of a Read Only Memory (ROM) in which the instructions to be executed are stored, or to address the locations of a Random Access Memory (RAM). As another example, pointer circuits are used in memories for addressing the memory locations thereof.
A pointer circuit is usually adapted to provide a binary code defining an address of the element, in the elements collection, which, at a given time, needs to be accessed. Pointer circuits are normally associated with binary code decoding circuits which decode the binary code provided by the pointer circuit and accordingly select the desired element corresponding to the specified binary code. The desired element is thus activated, while the remaining elements in the collection are not activated.
In many cases the pointer circuit comprises a binary counter, providing a sequence of binary codes following a binary evolution. In other cases the pointer circuit comprises a register loadable with an externally-supplied binary code defining the address of the element to be selected. The pointer circuit may also include a scrambling circuit.
It frequently happens that a unique pointer circuit is provided for in the electronic system, wherein the pointer circuit is used to address elements in different collections of elements of similar or different natures, belonging to different parts or sub-systems of the electronic system. The binary code provided by the pointer circuit can be used by the different sub-systems of the electronic system for different purposes, such as addressing memory locations for reading or writing data, controlling trimming structures, or scanning a collection of elements. The pointer circuit also often constitutes the synchronization unit and/or reference unit for the whole electronic system.
Some sub-systems of the electronic system may require, for the correct operation thereof, that the address defined by the binary code provided by the pointer circuit is varied, for example for implementing a jump. Since however the pointer circuit is unique for the whole electronic system, the evolution in time thereof cannot be manipulated without affecting the operation of the other sub-systems.